package cn.fl.changeapply.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.changeapply.dto.PrjPrdChangeApplyDTO;
import cn.fl.changeapply.vo.PrjPrdChangeApplyVO;


 /**
 * @Description: 项目产品变更记录表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class PrjPrdChangeApplyVOTransform {


	/**
	 * DTO 转  VO
	 * @param  dto
	 * @return PrjPrdChangeApplyVO
	 */
	public static PrjPrdChangeApplyVO toVO(PrjPrdChangeApplyDTO dto) {
		PrjPrdChangeApplyVO  vo = null;
		if (dto != null) { 
			vo = new PrjPrdChangeApplyVO();
			vo.setId(dto.getId());
			vo.setPrjId(dto.getPrjId());//项目ID
			vo.setPrjPrdDtlId(dto.getPrjPrdDtlId());//项目产品明细ID
			vo.setCstId(dto.getCstId());//客户ID
			vo.setCstNm(dto.getCstNm());//客户名称
			vo.setPrjTypCd(dto.getPrjTypCd());//项目类型
			vo.setPaySchNo(dto.getPaySchNo());//支付表号
			vo.setPaySchId(dto.getPaySchId());
			vo.setLsCntNo(dto.getLsCntNo());//合同号
			vo.setCstMgrId(dto.getCstMgrId());//客户经理ID
			vo.setCstMgrNm(dto.getCstMgrNm());//客户经理名称
			vo.setCstMgrOrgCd(dto.getCstMgrOrgCd());//客户经理组织架构
			vo.setBuOrgCd(dto.getBuOrgCd());//所属事业部
			vo.setIsDel(dto.getIsDel());//是否删除
			vo.setIsHistory(dto.getIsHistory());//是否历史
			vo.setChangeTypeCd(dto.getChangeTypeCd());//变更类型（PRJ0180）
			vo.setChangeTypeCdNm(dto.getChangeTypeCdNm());
			vo.setFundOccDays(dto.getFundOccDays());//资金占用天数
			vo.setFundOccCost(dto.getFundOccCost());//资金占用成本
			vo.setRecAmount(dto.getRecAmount());//应收款金额
			vo.setProInsId(dto.getProInsId());//流程实例ID
			vo.setProNo(dto.getProNo());//流程编号
			vo.setRemark(dto.getRemark());

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人

			vo.setPrdStsCd(dto.getPrdStsCd());
			vo.setInsCode(dto.getInsCode());
			vo.setFundRasInsNm(dto.getFundRasInsNm());
			vo.setIsInsBiz(dto.getIsInsBiz());
			vo.setIsSplMfr(dto.getIsSplMfr());
			vo.setLsPd(dto.getLsPd());
			vo.setLicAudStsCd(dto.getLicAudStsCd());
			vo.setLicDt(dto.getLicDt());
			vo.setLicIsDel(dto.getLicIsDel());
			vo.setMtgIsDel(dto.getMtgIsDel());
			vo.setGuarStsCd(dto.getGuarStsCd());
			vo.setNewPrjPrdDtlId(dto.getNewPrjPrdDtlId());
			vo.setPaySchTypCd(dto.getPaySchTypCd());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param  vo
	 * @return PrjPrdChangeApplyDTO
	 */
	public static PrjPrdChangeApplyDTO toDTO(PrjPrdChangeApplyVO vo) {
		PrjPrdChangeApplyDTO dto = null;
		if (vo != null) {
			dto = new PrjPrdChangeApplyDTO();
			dto.setId(vo.getId());
			dto.setPrjId(vo.getPrjId());//项目ID
			dto.setPrjPrdDtlId(vo.getPrjPrdDtlId());//项目产品明细ID
			dto.setCstId(vo.getCstId());//客户ID
			dto.setCstNm(vo.getCstNm());//客户名称
			dto.setPrjTypCd(vo.getPrjTypCd());//项目类型
			dto.setPaySchNo(vo.getPaySchNo());//支付表号
			dto.setPaySchId(vo.getPaySchId());
			dto.setLsCntNo(vo.getLsCntNo());//合同号
			dto.setCstMgrId(vo.getCstMgrId());//客户经理ID
			dto.setCstMgrNm(vo.getCstMgrNm());//客户经理名称
			dto.setCstMgrOrgCd(vo.getCstMgrOrgCd());//客户经理组织架构
			dto.setBuOrgCd(vo.getBuOrgCd());//所属事业部
			dto.setIsDel(vo.getIsDel());//是否删除
			dto.setIsHistory(vo.getIsHistory());//是否历史
			dto.setChangeTypeCd(vo.getChangeTypeCd());//变更类型（PRJ0180）
			dto.setFundOccDays(vo.getFundOccDays());//资金占用天数
			dto.setFundOccCost(vo.getFundOccCost());//资金占用成本
			dto.setRecAmount(vo.getRecAmount());//应收款金额
			dto.setProInsId(vo.getProInsId());//流程实例ID
			dto.setProNo(vo.getProNo());//流程编号
			dto.setRemark(vo.getRemark());

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人

			dto.setPrdStsCd(vo.getPrdStsCd());
			dto.setInsCode(vo.getInsCode());
			dto.setFundRasInsNm(vo.getFundRasInsNm());
			dto.setIsInsBiz(vo.getIsInsBiz());
			dto.setIsSplMfr(vo.getIsSplMfr());
			dto.setLsPd(vo.getLsPd());
			dto.setLicAudStsCd(vo.getLicAudStsCd());
			dto.setLicDt(vo.getLicDt());
			dto.setLicIsDel(vo.getLicIsDel());
			dto.setMtgIsDel(vo.getMtgIsDel());
			dto.setGuarStsCd(vo.getGuarStsCd());
			dto.setNewPrjPrdDtlId(vo.getNewPrjPrdDtlId());
			dto.setPaySchTypCd(vo.getPaySchTypCd());
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list List<PrjPrdChangeApplyDTO>
	 * @return List<PrjPrdChangeApplyVO>
	 */
	public static List<PrjPrdChangeApplyVO> toVOList(List<PrjPrdChangeApplyDTO> list) {
		List<PrjPrdChangeApplyVO>  voList = new ArrayList<PrjPrdChangeApplyVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjPrdChangeApplyDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<PrjPrdChangeApplyVO>
	 * @return List<PrjPrdChangeApplyDTO>
	 */
	public static List<PrjPrdChangeApplyDTO> toDTOList(List<PrjPrdChangeApplyVO> list) {
		List<PrjPrdChangeApplyDTO>  dtoList = new ArrayList<PrjPrdChangeApplyDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjPrdChangeApplyVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
